1/9/2020

Perchรจ le malattie cardiovascolari



  • Principale causa di morbositร , invaliditร  e mortalitร 



  • Incessante attivitร  di ricerca in campo medico



  • Interesse guidato da esperienze personali

Il ruolo del cuore nellโ€™organismo




  • Trasportare sangue ricco di ossigeno


  • Ricevere sangue ricco di anidride carbonica


  • Ossigenare il sangue

I Dati

Heart Disease UCI, dataset a cura di:

  • Hungarian Institute of Cardiology. Budapest: Andras Janosi, M.D.
  • University Hospital, Zurich, Switzerland: William Steinbrunn, M.D.
  • University Hospital, Basel, Switzerland: Matthias Pfisterer, M.D.
  • V.A. Medical Center, Long Beach and Cleveland Clinic Foundation: Robert Detrano, M.D., Ph.D.

Sesso ed etร  dei pazienti

Massimo battito cardiaco misurato

max_heart_rate <- function(age){
  return(220-age)
}

max_heart_rate(30)
## [1] 190
max_heart_rate(50)
## [1] 170

Battito cardiaco in relazione ad una malattia cardiaca

Livello di zuccheri nel sangue

  • BS < 100 mg/dL (normale)
  • 100 mg/dl <= BS <= 120 mg/dL (aumento del rischio)
  • BS > 120 mg/dL (alto rischio)



Il dataset indica, tramite la variabile FastingBloodSugar, lโ€™eventuale superamento del valore di 120 mg/dL.

Livello di zuccheri in relazione ad etร  e sesso

Lโ€™influenza del colesterolo sierico

Che cosโ€™รจ il colesterolo sierico?

Una misura quantitativa di HDLC, LDLC e triglicerici presenti nel sangue
  • Viene calcolato sommando la quantitร  di colesterolo HDL e LDL e aggiungendo il 20% del livello di trigliceridi presenti nel campione di sangue prelevato.
  • Deve essere incluso in un range compreso fra 125 e 200 mg/dL per persone di etร  superiore ai 20 anni

Una possibile motivazione



“I valori di colesterolo sierico, anche se sopra il limite massimo, non sono significativamente correlati con la quantificazione del rischio cardiovascolare. รˆ consigliabile concentrarsi sul miglioramento della frazione HDL, sul potenziamento delle difese immunitarie e sul consumo di antiossidanti”.

Colesterolo in relazione allโ€™etร 

Il dolore al petto come metro diagnostico

Distinzioni

  • Dolore anginoso tipico
  • Dolore anginoso atipico
  • Dolore non anginoso
  • Asintomatico

Distribuzione

Angina come segno di malattia cardiaca

Malattia in assenza di dolore anginoso


Analisi del tracciato ST

Lettura di un tracciato ECG

Anomalia del tratto ST



Interpretazione dei dati

  • OldPeak - indica la misurazione in mm del segmento ST.


  • PeakSlope - indica la curvatura del segmento ST osservato, questa in particolare puรฒ essere
    • Upsloping (curvatura verso lโ€™alta, indicata dal valore 0)
    • Flat (piatta, indicata dal valore 1)
    • Downsloping (curvatura verso il basso, indicata dal valore 2)


  • RestingECG - indica se il referto elettrocardiografico ha presentato:
    • Un tracciato normale (indicato dal valore 0)
    • Anomalie nel tratto ST (indicato dal valore 1)
    • Segni di ipetrofia sinistro-ventricolare (indicato dal valore 2).

Anomalie del tratto ST

Correlazione con la presenza di una malattia

Strumento diagnostico efficace




Numero di casi di pazienti sani che hanno dimostrato anomalie nel tracciato ST a riposo:

##   n
## 1 0

Presenza di dolore anginoso

Osservazioni in seguito a cateterismo cardiaco

La procedura


Motivazioni



  • Valutazione o conferma della presenza di patologie cardiovascolari



  • Valutazione della funzionalitร  del muscolo cardiaco



  • Determinazione della necessitร  di ulteriori trattamenti (quali procedure di intervento e/o bypass chirurgici)

I Dati


  • Variabile MajorVessels, in riferimento al numero di diramazioni dei Grandi Vasi colorate dal fluoroscopio.



Con “Grandi Vasi”, ci si riferisce a:

  • Vena Cava superiore e inferiore
  • Vene polmonari
  • Arterie Polmonari
  • Aorta

Nei pazienti malati

Dolore anginoso in seguito alla mancanza di ossigenazione

Previsione di una malattia cardiovascolare

Impiego di un regressione logistico

set.seed(1996)

# Sostituzione dei valori 1 e 0 riferiti a presenza e assenza di malattia cardiaca con "true" e "false"
model <- heart_original %>%
  mutate(HasDisease = as.character(HasDisease)) %>%
  mutate(HasDisease = fct_recode(HasDisease, true = '1', false = '0'))

# Partizionamento del dataset in funzione del test del modello risultante
training_slice <- createDataPartition(model$HasDisease, p = 0.80, list = FALSE)
training <- model[training_slice,]
testing <- model[-training_slice,]


# Regressione Logistica
trControl <- trainControl(summaryFunction = twoClassSummary,
                          classProbs = TRUE)
logistic_regressor <- train(HasDisease ~ ., data = training, method = 'glm', 
                            family = binomial(link = 'logit'), trControl = trControl)

Test dellโ€™accuratezza

predictions <- predict(logistic_regressor, newdata = testing, type = 'prob')
comparation <- data.frame(actual = testing$HasDisease,
                         predicted = predictions$true)

confusionMatrix(data = cut(predictions$true, 
                           breaks = c(-Inf, 0.5, Inf), 
                           labels = c('false', 'true')),
                reference = testing$HasDisease,
                positive = 'true', mode = 'everything')
## Confusion Matrix and Statistics
## 
##           Reference
## Prediction false true
##      false    23    8
##      true      4   25
##                                           
##                Accuracy : 0.8             
##                  95% CI : (0.6767, 0.8922)
##     No Information Rate : 0.55            
##     P-Value [Acc > NIR] : 4.67e-05        
##                                           
##                   Kappa : 0.6013          
##                                           
##  Mcnemar's Test P-Value : 0.3865          
##                                           
##             Sensitivity : 0.7576          
##             Specificity : 0.8519          
##          Pos Pred Value : 0.8621          
##          Neg Pred Value : 0.7419          
##               Precision : 0.8621          
##                  Recall : 0.7576          
##                      F1 : 0.8065          
##              Prevalence : 0.5500          
##          Detection Rate : 0.4167          
##    Detection Prevalence : 0.4833          
##       Balanced Accuracy : 0.8047          
##                                           
##        'Positive' Class : true            
## 

Conclusioni

“La medicina รจ un miscuglio di scienza, saggezza e tecnologia.”

Robert W. Platt